package com.moteur.analysersite.validatorw3c;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;

import com.moteur.analysersite.alexa.AudienceGeographique;
import com.moteur.analysersite.util.TimeOut;

public class ValidateurCss {
	private final String BASEURI = "http://www.css-validator.org/validator?profile=css3&usermedium=all&warning=1&lang=fr&uri=";
	private String url;
	List<ErreurCss> erreurCss;
	Document doc;

	public ValidateurCss(String url) {
		super();
		this.url = BASEURI + url;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public List<ErreurCss> getErreurCss() {
		return erreurCss;
	}

	public void setErreurCss(List<ErreurCss> erreurCss) {
		this.erreurCss = erreurCss;
	}

	public Document getDoc() {
		return doc;
	}

	public void setDoc(Document doc) {
		this.doc = doc;
	}

	public List<ErreurCss> analsyer() {
		this.erreurCss = new ArrayList<ErreurCss>();
		TimeOut timeOutSecond = TimeOut.getInstance();
		Document doc;
		ErreurCss obj;
		try {
			doc = Jsoup.connect(this.url)
					.timeout(timeOutSecond.getTimeout() * 1000).get();

			for (Element elmnt : doc.select(".error-section table tbody tr")) {
				obj = new ErreurCss(elmnt.select(".linenumber").text(), elmnt
						.select(".codeContext").text(), elmnt.select(
						".parse-error").text());
				this.erreurCss.add(obj);
			}
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return this.erreurCss;
	}
}
